home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
util
/
boot
/
vbrmov23.lha
/
VBRevoM.asm
< prev
next >
Wrap
Assembly Source File
|
1994-04-24
|
2KB
|
99 lines
nolist
;:ts=8
*****************************************************************
* *
* VBRevoM version 1.2, © 1991 Arthur Hagen, All rights reserved *
* *
* Posted to the Public Domain. *
* *
* Written using the Aztec Manx C 5.0 Assembler *
* *
* All comments deliberately stripped from source. *
* If you don't understand it, you should not mess with it! *
* *
*****************************************************************
include 'exec/execbase.i'
xref _LVOOldOpenLibrary
xref _LVOCloseLibrary
xref _LVOSuperState
xref _LVOOutput
xref _LVOWrite
xref _LVOAllocMem
xref _LVOPermit
xref _LVOFreeMem
xref _LVOCopyMemQuick
list
machine mc68010
public _VBRevoM
_VBRevoM:
movea.l (4).w,a6
lea dosname(pc),a1
jsr _LVOOldOpenLibrary(a6)
movea.l d0,a5
exg.l a5,a6
jsr _LVOOutput(a6)
exg.l a5,a6
move.l d0,d7
moveq #title_end-title,d3
lea title(pc),a0
bsr.s wrt
btst #AFB_68010,AttnFlags+1(a6)
beq.s wrong
jsr _LVOSuperState(a6)
movec VBR,d2
move.l sp,USP
movea.l d0,sp
andi.w #$dfff,SR
tst.l d2
beq.s alrdy
movea.l d2,a0
suba.l a1,a1
moveq #64,d6
rol.w #4,d6
move.l d6,d0
jsr _LVOCopyMemQuick(a6)
jsr _LVOSuperState(a6)
moveq #0,d1
movec d1,VBR
move.l sp,USP
movea.l d0,sp
andi.w #$dfff,SR
movea.l d2,a1
move.l d6,d0
jsr _LVOFreeMem(a6)
quit movea.l a5,a1
jmp _LVOCloseLibrary(a6)
wrong moveq #wrongpro_end-wrongpro,d3
lea wrongpro(pc),a0
writerr pea quit(pc)
wrt move.l a0,d2
move.l d7,d1
exg.l a5,a6
jsr _LVOWrite(a6)
exg.l a5,a6
rts
alrdy moveq #already_end-already,d3
lea already(pc),a0
bra.s writerr
dc.b '$VER: '
title dc.b 'VBRevoM 1.2 (30.1.92)',$0A,$0D
dc.b 'Copyright ',$A9,' 1992 Arthur Hagen.',$0A
title_end
already dc.b 'VBR not set',$0A
already_end
wrongpro
dc.b 'You need 68010 or higher!',$0A
wrongpro_end
dosname dc.b 'dos.library',0
even
END